package com.dh.leetcode.k1;

import org.junit.Assert;
import org.junit.Test;

/**
 * @ClassName: _1556_thousand_separator
 * @Description: 1556. 千位分隔数
 * 给你一个整数 n，请你每隔三位添加点（即 "." 符号）作为千位分隔符，并将结果以字符串格式返回。
 * <p>
 * <p>
 * <p>
 * 示例 1：
 * <p>
 * 输入：n = 987
 * 输出："987"
 * 示例 2：
 * <p>
 * 输入：n = 1234
 * 输出："1.234"
 * 示例 3：
 * <p>
 * 输入：n = 123456789
 * 输出："123.456.789"
 * 示例 4：
 * <p>
 * 输入：n = 0
 * 输出："0"
 * <p>
 * https://leetcode-cn.com/problems/thousand-separator/
 * @Author: shouzimu
 * @Date: 2021/12/14 9:36
 */
public class _1556_thousand_separator {
    public String thousandSeparator(int n) {
        String v = String.valueOf(n);
        StringBuilder b = new StringBuilder();
        int j = 0;
        for (int i = v.length() - 1; i >= 0; i--) {
            j++;
            b.append(v.charAt(i));
            if(j % 3 == 0 && i > 0) {
                b.append(".");
            }
        }
        return b.reverse().toString();
    }

    @Test
    public void thousandSeparatorTest() {
        Assert.assertEquals("123.456.789",thousandSeparator(123456789));
        Assert.assertEquals("987",thousandSeparator(987));
        Assert.assertEquals("1.234",thousandSeparator(1234));
    }
}
